package exsun.jt808.data.upload_data;

import exsun.jt808.data.distribute_data.Qingdao.AlarmSignIdInfo;

import java.util.List;

public class GpsPropertyType
{
    /// <summary>
    /// 油耗
    /// </summary>
    public static Integer Oil = 1;

    /// <summary>
    /// 行车记录仪速度
    /// </summary>
    public static Integer DriveSpeed = 2;

    /// <summary>
    /// 转鼓方向
    /// </summary>
    public static Integer DrumDirect = 3;

    /// <summary>
    /// 转鼓速度
    /// </summary>
    public static Integer DrumSpeed = 4;

    /// <summary>
    /// 超速报警扩展字段
    /// 0x11 	1或5 	超速报警附加信息
    /// </summary>
    public static Integer OverspeedLocation = 5;

    /// <summary>
    /// 超速报警扩展字段
    /// 若位置类型为 0，无该字段
    /// 区域或路段ID
    /// </summary>
    public static Integer OverspeedAreaId = 6;

    /// <summary>
    /// 进出区域/路线报警附加信息
    /// </summary>
    public static Integer AccessareasLocation = 7;

    /// <summary>
    /// 进出区域/路线报警附加信息
    /// 区域或路线ID
    /// </summary>
    public static Integer AccessareasAreaId = 8;

    /// <summary>
    /// 进出区域/路线报警附加信息
    /// 00：进； 1：出
    /// </summary>
    public static Integer AccessareasDirect = 9;

    /// <summary>
    /// 路线行驶时间不足/过长报警附加信息
    /// 路段ID
    /// </summary>
    public static Integer TraveltimeLenOrGreatLineId = 10;

    /// <summary>
    /// 路线行驶时间不足/过长报警附加信息
    /// 路段行驶时间
    /// </summary>
    public static Integer TraveltimeLenOrGreatDriveTime = 11;

    /// <summary>
    /// 路线行驶时间不足/过长报警附加信息
    /// 结果 ０：不足；１：过长
    /// </summary>
    public static Integer TraveltimeLenOrGreatResult = 12;

    /// <summary>
    /// 油耗类型，=0:电阻式，=1:电压式 =2：液位值
    /// 0xE0
    /// </summary>
    public static Integer FuelType = 13;

    /// <summary>
    /// 油耗值
    /// 电阻式：以欧姆为单位), 第一，二个字节表示十六进制的整数，第三个字节表示小数），数制：十六进制。
    ///比如：0x01),0x2A),0x06表示298.6欧姆
    ///电压式：以伏特为单位), 第一字节高4位为电压整数，其余为小数位。
    ///数制：BCD码，比如：0x45),0x67),0x89表示4.56789V
    ///液位式：以0.1mm为单位), 比如：0x00),0x2A),0x06表示1084.8mm
    /// </summary>
    public static Integer FuelValue = 14;

    /// <summary>
    /// 湿度
    /// 0xE1
    /// </summary>
    public static Integer Humidity = 15;

    /// <summary>
    /// 当前农机的航向角偏差信息， -90°~+90° 消除系统偏差， 乘以 100
    /// </summary>
    public static Integer NJHeadingErr = 100;

    /// <summary>
    /// 横向偏差， 乘以 1000， 单位 ms
    /// </summary>
    public static Integer NJDistanceErr = 101;

    /// <summary>
    /// 系统工作状态：
    // 0x00:正常
    //0x01:周期任务运行超时；
    //0x02:GNSS 数据出错；
    //0x04:惯导通信超时；
    //0x08:驱动通信超时；
    //0x10:控制运算超时；
    //0x20:FLASH 操作错误；
    /// </summary>
    public static Integer NJSystemStatus = 102;

    /// <summary>
    /// 农机报警状态
    /// </summary>
    public static Integer NJAlarmStatus = 103;

    /// <summary>
    /// 导向轮实际角度), 乘以 100
    /// </summary>
    public static Integer NJAngleReal = 104;

    /// <summary>
    /// 导向轮期望角度， 乘以 100
    /// </summary>
    public static Integer NJAngleExp = 105;

    /// <summary>
    /// 作业面积， 单位亩
    /// </summary>
    public static Integer NJJobArea = 106;

    /// <summary>
    /// 表征作业的 GUID当前无作业的时候， 全 0
    /// </summary>
    public static Integer NJGuid = 107;


    /// <summary>
    /// 工作模式
    /// 工作模式 0x00正常模式；0x01debug模式
    /// </summary>
    public static Integer ZtWorkMode = 150;

    /// <summary>
    /// 传感器原始值
    /// </summary>
    public static Integer ZtWeightValue = 151;

    /// <summary>
    /// 传感器状态
    /// </summary>
    public static Integer ZtWeightStatus = 152;

    /// <summary>
    /// 传感器速度
    /// </summary>
    public static Integer ZtSensorSpeed = 153;

    /// <summary>
    /// 传感器原始值
    /// </summary>
    public static Integer ZtSensorRawData = 154;

    /// <summary>
    /// 满载阈值
    /// </summary>
    public static Integer ZtFullLoadThreshold = 155;

    /// <summary>
    /// 超载阈值
    /// </summary>
    public static Integer ZtOverLoadThreshold = 156;

    /// <summary>
    /// 严重超载阈值
    /// </summary>
    public static Integer ZtSevereOverloadThreshold = 157;

    /// <summary>
    /// 红灯亮
    /// </summary>
    public static Integer ZtLeightRedOn = 158;

    /// <summary>
    /// 绿灯亮
    /// </summary>
    public static Integer ZtLeightGreenOn = 159;

    /// <summary>
    /// 黄灯亮
    /// </summary>
    public static Integer ZtLeightYelloOn = 160;

    /// <summary>
    /// 顶灯状态
    /// </summary>
    public static Integer ZtLeightOn = 161;

    /// <summary>
    /// 新版载重及 举升传感器 举升状态
    /// </summary>
    public static Integer ZtLiftingStatus = 162;

    /// <summary>
    /// 装载装载勺数
    /// </summary>
    public static Integer ZtLoadedspoons = 163;

    /// <summary>
    /// 数据标识
    /// </summary>
    public static Integer ZtWeightMark = 164;

    /**
     * 车厢渣土类型
     * 0: 未知类型 1：普通渣土 2：砂石 3：建筑材料 4：盾构土
     */
    public static Integer MuckType = 165;

    /**
     * 0:实时数据 1:快速增加 2：快速减少 3：平行震荡
     */
    public static Integer OilStatus = 166;

    /*
    油量液位值 （毫米）
    注： 非油量值，计算油量值需结合油箱形状的标定值
     圆柱和长方体的油箱  传过来的是油量剩余高度值（h），油量就是h/油箱高度 * 油箱容积
     非标准油箱需进行标定
     */
    public static Integer OilLevel = 167;

    /// <summary>
    /// SIM ICCID号
    /// </summary>
    public static Integer SimIccid = 200;
    /// <summary>
    /// bit0: 1电池开关-关； 0电池开关-开（电池）
    /// </summary>
    public static Integer BsjBatterySwitch = 201;
    /// <summary>
    /// bit1: 1终端正常状态；0终端休眠状态（休眠）
    /// </summary>
    public static Integer BsjDeviceStatus = 202;
    /// <summary>
    /// bit30：1：正常 0：检测到伪基站
    /// </summary>
    public static Integer BsjPseudobasestationCheck = 203;
    /// <summary>
    /// bit31: 1:正常 0：伪基站报警
    /// </summary>
    public static Integer BsjPseudobasestationAlarm = 204;

    public static Integer unlockAlarm = 205;
    public static Integer illegalDumpAlarm = 206;
    public static Integer overLoadAlarm = 207;
    public static Integer speedingAlarm = 208;
    public static Integer breakBoundAlarm = 209;
    public static Integer keep = 210;//保留
    public static Integer driverAlarm = 211;
    public static Integer nolisenseAlarm = 212;

    //倾倒状态
    public static Integer dumpAlarm = 213;
    //倾倒开始时间
    public static Integer startTime = 214;
    //倾倒结束时间
    public static Integer endTime = 215;

    //0x6A:
    //报警Id
    public static Integer alarmId = 216;

    //标志状态:0x00：不可用 0x01：开始标志 0x02：结束标志
    public static Integer signType = 217;

    //报警类型:0x01：0x01：车厢摄像头遮挡
    //0x02：货物检测未密闭(非传感器检测)
    //0x03: 货物检测违规区域卸载（非传感器检测）
    //0x04：车厢摄像头角度偏离
    public static Integer alarmTypes = 218;

    //相似度
    public static Integer similarity = 219;

    //车速
    public static Integer speed = 220;

    //高程
    public static Integer altitude = 221;

    //纬度
    public static double lat = 222;

    //经度
    public static double lng = 223;

    //报警时间
    public static Integer alarmTime = 224;

    //保留
    public static Integer retain = 226;


    //报警标识号
    public static List<AlarmSignIdInfo> alarmSignIds;


    //0x6B
    //报警Id
    public static Integer blindAreaAlarmId = 227 ;

    //标志状态:0x00：不可用 0x01：开始标志 0x02：结束标志
    public static Integer blindAreaSignType = 228;

    //报警类型:0x01：前方盲区报警 0x11：右侧盲区一级报警 0x12：右侧盲区二级报警 0x13：右侧盲区三级报警
    public static Integer blindAreaAlarmTypes = 229;

    //车速
    public static Integer blindAreaSpeed = 230;

    //高程
    public static Integer blindAreaAltitude = 231;

    //纬度
    public static double blindAreaLat = 232;

    //经度
    public static double blindAreaLng = 233;

    //日期时间
    public static Integer blindAreaTime = 234;

    //车辆状态
    public static Integer carStatusProperty = 235;


    public static Integer videoAlarm = 236;

    //电池电量
    public static Integer batteryCapacity = 238;

    //当前设备实际定位模式
    public static Integer PositioningMode = 239;

    //电池电压
    public static Integer batteryVoltage = 240;

    //平台设置的定位模式
    public static Integer SetPositioningMode = 241;

    //设备是否在充电
    public static Integer charge = 242;

    //1078协议视频报警上报
    //视频信号丢失报警
    public static Integer videoSignalLose = 244;

    //视频信号遮挡报警
    public static Integer videoSignalOcclusion = 245;

    //存储单元故障报警
    public static Integer storageUnitFailure = 246;

    //其他视频设备故障报警
    public static Integer otherDeviceFailure = 247;

    //客车超员报警
    public static Integer carOvercrowding = 248;

    //异常驾驶行为报警
    public static Integer abnormalDriving = 249;

    //特殊报警录像存储阈值报警
    public static Integer thresholdAlarm = 250;

    //GNSS 定位卫星数
    public static Integer satelliteNum = 251;

    //附加信息描述
    public static Integer AdditionalInformation = 260;

    //主机具卡号
    public static Integer devNo = 261;

    //农机作业参数 符号|角度 1|符号|角度 2|作业深度
    public static Integer workParam = 262;

    //冷库设备湿度
    public static Integer hum = 264;


    //冷库设备温度
    public static Integer Tem1 = 265;
    public static Integer Tem2 = 266;
    public static Integer Tem3 = 267;
    public static Integer Tem4 = 268;
    public static Integer Tem5 = 269;
    public static Integer Tem6 = 270;
    public static Integer Tem7 = 271;
    public static Integer Tem8 = 272;




    public static double getLat() {
        return lat;
    }

    public static void setLat(double lat) {
        GpsPropertyType.lat = lat;
    }

    public static double getLng() {
        return lng;
    }

    public static void setLng(double lng) {
        GpsPropertyType.lng = lng;
    }

    public static double getBlindAreaLat() {
        return blindAreaLat;
    }

    public static void setBlindAreaLat(double blindAreaLat) {
        GpsPropertyType.blindAreaLat = blindAreaLat;
    }

    public static double getBlindAreaLng() {
        return blindAreaLng;
    }

    public static void setBlindAreaLng(double blindAreaLng) {
        GpsPropertyType.blindAreaLng = blindAreaLng;
    }
}
